package shapes;
import java.util.Random;

/**
 * Ce code est la version OO du TP ShapesNonOO.
 * Les diff�rentes m�thodes utilis�es ici sont,
 * 1- L'encapsulation
 * 2- La g�n�ralisation
 * 3- Le polymorphisme
 * 
 * On notera aussi la pr�sence d'une Factory afin que, depuis le main,
 * il ne soit pas necessaire de connaitre les types Circle et Square
 * mais seulement le type Shapes (grace au polymorphisme).
 * 
 * @author Maxime Biette, biette@ece.fr
 * @author Claire Petitimbert, petitimb@ece.fr 
 */
public class ShapesOO {
	protected static Random random = new Random();

	public static void main(String[] args) {
		Sheet laFeuille = new Sheet();
		for(int i = 0; i<3 ; i++) laFeuille.add(ShapesFactory.getInstance().makeCircle());
		for(int i = 0; i<3 ; i++) laFeuille.add(ShapesFactory.getInstance().makeSquare());
		laFeuille.drawAll();
		laFeuille.get(random.nextInt(laFeuille.size())).move(5,20);
		laFeuille.get(random.nextInt(laFeuille.size())).move(9,3);
	}

}
